#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int N;

int main() {
    string s, t;
    cin >> N >> s;
    for (int i = s.size() - 1; i >= 0; i--) {
        t.push_back(s[i]);
    }
    string result;
    for (int i = 0; i < N; i++) {
        if (s < t) {
            auto x = s.front(); s = s.substr(1, s.size() - 1);
            result.push_back(x);
        }
        else {
            auto x = t.front(); t = t.substr(1, t.size() - 1);
            result.push_back(x);
        }
    }
    cout << result << endl;
}

char S[100];
void solve() {
    int a = 0, b = N - 1;
    while (a <= b) { // 相等的时候直接输出即可
        bool left = false;
        // 本质上来讲大于小于和相等都可以归结到循环当中, 区别是循环次数
        for (int i = 0; a + i <= b; i++) {
            if (S[a + i] < S[b - i]) {
                left = true;
                break;
            }
            else if (S[a + i] > S[b - i]) {
                left = false;
                break;
            }
        }
        if (left) putchar(S[a++]);
        else putchar(S[b--]);
    }
    putchar('\n');
}